/*
  将下面异步代码使用 Promise 的方法改进
  尽量用看上去像同步代码的方式
  setTimeout(function () {
    var a = 'hello'
    setTimeout(function () {
      var b = 'lagou'
      setTimeout(function () {
        var c = 'I ♥ U'
        console.log(a + b +c)
      }, 10)
    }, 10)
  }, 10)
*/

function p2() {
  return new Promise((resolve, reject) => {
      setTimeout(() => {
          resolve('lagou')
      }, 10);
  })
}

function p3() {
  return new Promise((resolve, reject) => {
      setTimeout(() => {
          resolve('I ❤️ U')
      }, 10);
  })
}

function p1() {
  return new Promise((resolve, reject) => {
      setTimeout(() => {
          resolve('hello')
      }, 10);
  })
}


var a, b, c;
p1().then(value => {
  a = value
  return p2()
}).then(value => {
  b = value
  return p3()
}).then(value => {
  c = value
  console.log(a, b, c)
})


